// 运行时配置
import logo from '@/assets/dog.png';
import { RunTimeLayoutConfig } from '@umijs/max';
// 全局初始化数据配置，用于 Layout 用户信息和权限初始化
// 更多信息见文档：https://umijs.org/docs/api/runtime-config#getinitialstate
export async function getInitialState(): Promise<{ name: string }> {
  return { name: '数据工厂' };
}
// 配置页面layout布局
export const layout: RunTimeLayoutConfig = () => {
  return {
    // layout 布局的配置文件     https://img.alicdn.com/tfs/TB1YHEpwUT1gK0jSZFhXXaAtVXa-28-27.svg
    logo: logo, // 配置运行时的layout 布局的logo 图标
    // layout配置项 是根据proComponent 里面的proLayout组件的配置api来写的
    title: '数据工厂',
    layout: 'mix', // top 头部导航模式  side 表示侧边导航模式  mix 上头部，下分左侧导航和右侧内容
    menu: {
      locale: false,
    },
    token: {
      // layout 组件背景颜色配置
      // pageContainer: {
      //   paddingBlockPageContainerContent: 0,
      //   paddingInlinePageContainerContent: 0,
      // },
      sider: {
        colorMenuBackground: '#fff',
        colorTextMenuTitle: '#333',
        colorTextMenu: '#333',
        colorTextMenuSelected: '#1890FF',
        colorTextMenuItemHover: '#1890FF',
        colorBgMenuItemHover: 'rgba(24, 144, 255, 0.1)',
        colorBgMenuItemSelected: 'rgba(24, 144, 255, 0.1)',
      },
      header: {
        colorBgHeader: '#001529',
        colorHeaderTitle: '#FFFFFF',
        // heightLayoutHeader: 48,
        // colorTextRightActionsItem:'#fff'
      },
    },
    // headerRender: () => { // xxxRender 表示自定义 自定义头部
    //   return (<div>这是自定义头部</div>)
    // }
    // headerRender:false // 即不展示
  };
};

/**
 * 1.在umiJs 里面开启 request
 * 2.app.ts 里面通过暴露出 request 请求配置
 * 请求的后台接口地址配置 baseUrl
 * 请求拦截和响应拦截配置
 * errorConfig 请求错误处理
 *3.在service.ts 里面通过 useRequest 请求接口 接口层
 * 表示暴露一个请求的底层配置
 *  */
import type { RequestConfig } from '@umijs/max';

export const request: RequestConfig = {
  timeout: 10000,
  // other axios options you want
  errorConfig: {
    errorHandler() {},
    errorThrower() {},
  },
  baseURL: '/api',
  requestInterceptors: [
    (url: string, options: any) => {
      // console.log('请求拦截', url, options);
      options.headers = options.headers || {};
      // options.headers.Authorization = localStorage.getItem('token') || '';
      return { url, options };
    },
  ],
  responseInterceptors: [],
};
// export const request: RequestConfig = Request;

// export const request: RequestConfig = {
//   timeout: 10000,
//   baseURL: 'http://localhost:8080',
//   // errorConfig: {
//   //   errorHandler() {},
//   //   errorThrower() {},
//   // },
//   // requestInterceptors: [],
//   // responseInterceptors: [],
// };

// export function onRouteChange({location,
//   clientRoutes,
//   routes,
//   action,
//   basename,
//   isFirst}) {
//   console.log('123',location,clientRoutes,
//   routes,
//   action,
//   basename,
//   isFirst);

//   const token = localStorage.getItem('TOKEN');
//   if (!token && location.pathname !== '/login') {
//     // 放行 啥也不干

//     // 不放行 跳转其他页面
//     history.push('/login');
//   }
// }
